Skip to content

feat(cli): iq implementation start --issue <N> — open a cycle in one command#296

Merged
ccisnedev merged 1 commit into
mainfrom
295-mejora-ux-arranque-ciclo
Jul 23, 2026
Merged

feat(cli): iq implementation start --issue <N> — open a cycle in one command#296
ccisnedev merged 1 commit into
mainfrom
295-mejora-ux-arranque-ciclo

Conversation

@ccisnedev

Copy link
Copy Markdown
Owner

Closes #295.

What

Adds iq implementation start --issue <N>: one explicit command that takes a published issue from nothing to a ready ANALYZE cycle. It replaces the manual bootstrap that inquiry-start.md handed to the model step by step.

The command:

  1. resolves the git project root,
  2. auto-initializes the workspace when .inquiry/ is missing (no separate iq init),
  3. reads the issue title from GitHub, derives the <NNN>-<slug> branch and checks it out,
  4. fires start_analyze, whose existing open_analysis_context effect scaffolds cleanrooms/<branch>/analyze/.

Proven end-to-end in a real repo: main → one command → linked branch + cleanroom + ANALYZE.

Design decision recorded (this PR)

docs/roadmap.md now records the module-per-stage direction (iq <stage> <verb>: iq requisition, iq specification, iq implementation, iq analyze, iq plan, iq verification…, with shared verbs start/skill/check, every argument explicit and named). This command is the first module built to that pattern and the template the other stages migrate toward.

Two principles locked in:

  • Every mechanical process is an iq command — never an instruction that has the model run git/mkdir/write scaffold by hand.
  • Commands are not flow-aware — they do their job and report it; no "next step" printout that biases the user.

Also

  • Branch-policy failure now teaches (expected pattern + example + actual + the command that fixes it) instead of a bare assertion.
  • inquiry-start.md rewritten to invoke the command rather than reproduce its steps.

Tests

branch_name_test (slug/pad/compose) + implementation_start_test (branch, cleanroom, ANALYZE, auto-init, idempotency, teaching errors). Full suite: 593 pass. Version bumped 0.20.0 → 0.21.0 across the three synced sources.

…command

Closes #295. Replaces the manual bootstrap that inquiry-start.md handed to the
model step by step (derive slug, git checkout -b, mkdir cleanroom, hand-write
index.md, transition) with a single deterministic command: it resolves the
project root, auto-initializes the workspace when .inquiry/ is missing, reads the
issue title from GitHub, derives and checks out the <NNN>-<slug> branch, and
fires start_analyze (whose existing effect scaffolds the cleanroom). main -> one
command -> linked branch + cleanroom + ANALYZE.

- First module built to the module-per-stage direction (iq <stage> <verb>),
  recorded in docs/roadmap.md; --issue is an explicit required flag.
- Branch-policy failure now teaches: expected pattern + example + actual branch
  + the command that fixes it, instead of a bare assertion.
- inquiry-start.md no longer teaches git/mkdir/hand-writing scaffold; it invokes
  the command (mechanical processes are iq commands, not model instructions).
- Tests: branch_name (slug/pad/compose) + implementation_start integration
  (branch, cleanroom, ANALYZE, auto-init, idempotency, teaching errors). 593 pass.
- Bump 0.20.0 -> 0.21.0 across version.dart, pubspec, site badge.
@ccisnedev
ccisnedev merged commit 5be010e into main Jul 23, 2026
2 checks passed
@ccisnedev
ccisnedev deleted the 295-mejora-ux-arranque-ciclo branch July 23, 2026 00:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[cli] Arranque de ciclo sin adivinar: comando único, init automático y errores que enseñan

1 participant